package rack.lite.model

import org.apache.commons.lang.builder.CompareToBuilder
/**
 *
 * @author atila
 */
class AlunoDisciplina implements Serializable, Comparable {

   Aluno aluno
   Disciplina disciplina

   def String toLine() {
      "${aluno.login}:${disciplina.codigo}\n"
   }

   @Override
   def String toString() {
"""
[pk] Login: ${aluno.login}
      Nome: ${aluno.nome}
 Matrícula: ${aluno.matricula}
- - - - - - - - - - - - - - - - -
[pk] Código: ${disciplina.codigo}
       Nome: ${disciplina.nome}
      Curso: ${disciplina.curso}
"""
   }

   @Override
   def boolean equals(obj) {
      if (!obj instanceof AlunoDisciplina) {
         return false
      }

      AlunoDisciplina ad = (AlunoDisciplina) obj
      return aluno.login.equals(ad.aluno.login) && disciplina.codigo.equals(ad.disciplina.codigo)
   }

   @Override
   def int compareTo(obj) {
      AlunoDisciplina ad = (AlunoDisciplina) obj
      //return aluno.login.compareTo(ad.aluno.login)
      return new CompareToBuilder()
         .append(aluno.login, ad.aluno.login)
         .append(disciplina.codigo, ad.disciplina.codigo)
   }
}
